package com.mh.service;

import com.mh.domain.Invoice;
import com.mh.domain.Item;
import com.mh.domain.Product;

import java.util.List;
import java.util.Set;

/**
 * Spring service that handles CRUD requests for Item entities
 * 
 */
public interface ItemService {

	/**
	 */
	public Item findItemByPrimaryKey(Integer id);

	/**
	 * Delete an existing Item entity
	 * 
	 */
	public void deleteItem(Item item);

	/**
	 * Delete an existing Invoice entity
	 * 
	 */
	public Item deleteItemInvoice(Integer item_id, Integer related_invoice_id);

	/**
	 * Save an existing Item entity
	 * 
	 */
	public void saveItem(Item item_1);

	/**
	 * Return a count of all Item entity
	 * 
	 */
	public Integer countItems();

	/**
	 * Return all Item entity
	 * 
	 */
	public List<Item> findAllItems(Integer startResult, Integer maxRows);

	/**
	 * Save an existing Product entity
	 * 
	 */
	public Item saveItemProduct(Integer id_1, Product related_product);

	/**
	 * Delete an existing Product entity
	 * 
	 */
	public Item deleteItemProduct(Integer item_id_1, Integer related_product_id);

	/**
	 * Load an existing Item entity
	 * 
	 */
	public Set<Item> loadItems();

	/**
	 * Save an existing Invoice entity
	 * 
	 */
	public Item saveItemInvoice(Integer id_2, Invoice related_invoice);
}